home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / dist / patchSG0002777.idb / var / sysgen / system / irix.sm.z / irix.sm
Text File  |  1998-07-29  |  14KB  |  328 lines

  1. **************************************************************************
  2. *                                     *
  3. *  Copyright (C) 1986-1995  Silicon Graphics, Inc.             *
  4. *                                     *
  5. *  These coded instructions, statements, and computer programs  contain  *
  6. *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
  7. *  are protected by Federal copyright law.  They  may  not be disclosed  *
  8. *  to  third  parties  or copied or duplicated in any form, in whole or  *
  9. *  in part, without the prior written consent of Silicon Graphics, Inc.  *
  10. *                                     *
  11. **************************************************************************
  12. *
  13. * This file is used to control the configuration of the operating system.
  14. * Its is read by the lboot(1) command which builds the /1  file.  The
  15. * syntax of this file is described in system(4).  For more information on
  16. * system configuration, see autoconfig(1), lboot(1), system(4), master(4),
  17. * and systune(1).
  18. *
  19. * $Revision: 1.584 $
  20. *
  21. *
  22. * VME Address, Interrupt Level and VME Vectors for SGI IRIS-4D Systems
  23. *==========================================================================
  24. *
  25. * ADDRESS SPACE
  26. *    1.    All IPn generate ONLY data accesses to
  27. *    the VME bus.  Thus code access privilege is superfluous for all
  28. *    envisioned systems.  Both can generate both non-privileged and
  29. *    supervisor-only cycles.
  30. *    2. IP20, IP22, IP26, IP28 and IP30 do not support VME space.
  31. *
  32. * Privilege codes:
  33. *    np/s    non-privileged/supervisor access
  34. *    c/d    code/data access
  35. *
  36. * Access sizes:
  37. *    b/w/l    byte/word/long access
  38. *
  39. * A16 space:
  40. *
  41. *    'IP4' implements a single write-only byte in the A16 space.  When this
  42. *    byte is written an on-board mailbox interrupt is generated:
  43. *    'IP4'    0001 00xx xxxx xxxx        s/np, d, b    1000-13FF
  44. *
  45. *    Interphase Jaguar SCSI boards use first quadrant of A16
  46. *    They can not be used on IP4 or R2300
  47. *       jag0   0000 0aaa aaaa aaaa        s, d, ??    0000-07FF
  48. *       jag1   0000 1aaa aaaa aaaa        s, d, ??    0800-0FFF
  49. *       jag2   0001 0aaa aaaa aaaa        s, d, ??    1000-17FF
  50. *       jag3   0001 1aaa aaaa aaaa        s, d, ??    1800-1FFF
  51. *       jag4   0010 0aaa aaaa aaaa        s, d, ??    2000-27FF
  52. *       jag5   0010 1aaa aaaa aaaa        s, d, ??    2800-2FFF
  53. *
  54. *    VMUX has 16-bit registers and decodes a 128-byte address space:
  55. *       vmux 0  0011 1000 0xxx xxx0         s/np, d, w    3800-387F
  56. *
  57. * Other 3rd-party Peripheral boards use the third quadrant of A16:
  58. *        10xx xxxx xxxx xxxx
  59. *    1st Interphase ESDI uses 512 bytes of A16
  60. *    dkip    1000 011a aaaa aaaa        s, d, ??    8600-87FF
  61. * XX GSE
  62. *    gse    1001 0000 0010 aaaa        np, ?, ??    9020-903F
  63. * XX 2nd Interphase ESDI uses 512 bytes of A16
  64. *    dkip    1001 000a aaaa aaaa        s, d, ??    9000-91FF
  65. * XX  there is a conflict above
  66. *    IKON Hardcopy uses 16 bytes of A16
  67. *    ikon    1001 0010 0000 aaaa        s, ?, ??    9200-921F
  68. *    Xylogics 754 SMD
  69. *    xyl754    1001 1110 0000 aaaa        s, ?, ??    9E00-
  70. *    xyl754    1001 1110 0001 aaaa        s, ?, ??
  71. *    xyl754    1001 1110 0010 aaaa        s, ?, ??
  72. *    xyl754    1001 1110 0011 aaaa        s, ?, ??        -9E3F
  73. *    Xylogics SV IPI disk controller
  74. *       xylipi  1001 1110 1000 aaaa        s, ?, ??    9E80-
  75. *       xylipi  1001 1110 1001 aaaa        s, ?, ??
  76. *       xylipi  1001 1110 1010 aaaa        s, ?, ??
  77. *       xylipi  1001 1110 1011 aaaa        s, ?, ??        -9EBF
  78. *    1st pair of FDDIXPress FDDI needs 512/board
  79. *    if_ipg2    1010 110a aaaa aaaa            AC00-
  80. *    if_ipg3    1010 111a aaaa aaaa                -AFFF
  81. *    2nd pair of FDDIXPress FDDI needs 512/board
  82. *    if_ipg0    1011 001a aaaa aaaa            B200-
  83. *    if_ipg1    1011 010a aaaa aaaa                -B5FF
  84. *    Formation fv1600 Token-Ring board
  85. *    if_fv3  1011 1001 aaaa aaaa            B600
  86. *    if_fv2  1011 1000 aaaa aaaa
  87. *    if_fv1  1011 0111 aaaa aaaa
  88. *    if_fv0  1011 0110 aaaa aaaa                -B9FF
  89. *
  90. * A16 Space Reserved for Customer Boards:
  91. *        011x xxxx xxxx xxxx        s/np    6000-7FFF
  92. *        11xx xxxx xxxx xxxx        s/np    C000-FFFF
  93. *
  94. * A24 space:
  95. *
  96. *    The bottom 8MB of A24 space, both privileged and non-privileged is
  97. *    reserved for 'IP4/5/6/7/9/12,17' RAM. 'IP5/7/9,17' support
  98. *    hardware address
  99. *    mapping so dumb controllers may DMA to all of RAM.  On other systems,
  100. *    A24 controllers must DMA to kernel buffers visible in this region
  101. *    and copy the data to arbitrary RAM locations.
  102. *
  103. *    In IP19, bottom 8MB of A24 space, (both privileged and non-privileged)
  104. *    is reserved to map kernel buffers to IO address space for doing DMA.
  105. *    Drivers should call dma mapping routines to get the IO address to be
  106. *    handed to controller.
  107. *    This range is also used by VME bus diagnostic routines in prom.
  108. *
  109. *    IPn RAM    0aaa aaaa aaaa aaaa aaaa aaaa    s/np, c/d, b/w/l
  110. *
  111. *    The top 8MB of privileged A24 space is allocated to 3rd party boards:
  112. *    CMC ENP-10 Ethernet
  113. *    if_enp3    1101 100a aaaa aaaa aaaa aaaa    s
  114. *    if_enp2    1101 101a aaaa aaaa aaaa aaaa    s
  115. *    if_enp1    1101 110a aaaa aaaa aaaa aaaa    s
  116. *    if_enp0    1101 111a aaaa aaaa aaaa aaaa    s
  117. *    Central Data SIO
  118. *    cdsio    1111 0000 aaaa aaaa aaaa aaaa    s
  119. *    cdsio    1111 0001 aaaa aaaa aaaa aaaa    s
  120. *    cdsio    1111 0010 aaaa aaaa aaaa aaaa    s
  121. *    cdsio    1111 0011 aaaa aaaa aaaa aaaa    s
  122. *
  123. * A24 Space Reserved for Customer Boards:
  124. *        1000 xxxx xxxx xxxx xxxx xxxx    s   (except 'R2300')
  125. *        1001 xxxx xxxx xxxx xxxx xxxx    s   (except 'R2300')
  126. *        1100 xxxx xxxx xxxx xxxx xxxx    s
  127. *        (bottom 8Mb + 172kb reserved by SGI in a24 np)
  128. *        1xxx xxxx xxxx xxxx xxxx xxxx    np  (except 'R2300')
  129. *
  130. * A32 space (non-privileged only):
  131. *
  132. *    The IPn RAM occupy up to 256 Mbytes in the A32 space:
  133. *    RAM    0000 aaaa aaaa aaaa aaaa aaaa aaaa aaaa        np, c/d, b/w/l
  134. *
  135. *    All SGI 4D systems have at least 64MB reserved for controllers to use
  136. *    for their large, on-board buffers, starting at 0x18000000.  The bottom
  137. *    half is used for SGI-supported boards, the top half reserved for
  138. *    customer boards.
  139. *    Note: the 'IP4/6/12' support the entire 192MB non-privileged space
  140. *    starting at 0x10000000, and 'IP5/7/9/13/15' support 256MB, both
  141. *    supervisor and non-privileged, starting at 0x10000000.  See additional
  142. *    comments below for information about systems with two VME buses.
  143. *
  144. *    In IP19, top 2GB of A32 space, (both privileged and non-privileged)
  145. *    is reserved to map kernel buffers to IO address space for doing DMA.
  146. *    Drivers should call dma mapping routines to get the IO address to be
  147. *    handed to controller.
  148. *    This range is also used by VME bus diagnostic routines in prom.
  149. *
  150. * A32 Space Reserved for SGI Boards
  151. *        0001 00xx xxxx xxxx xxxx xxxx xxxx xxxx     np
  152. *        0001 100x xxxx xxxx xxxx xxxx xxxx xxxx     np
  153. *
  154. *    Formation fv1600 uses 2 MB in the A32 space:
  155. *    if_fv3    0001 1001 0011 0000 aaaa aaaa aaaa aaaa        np, d, b/w/l
  156. *    if_fv2    0001 1001 0011 0010 aaaa aaaa aaaa aaaa        np, d, b/w/l
  157. *    if_fv1    0001 1001 0011 0100 aaaa aaaa aaaa aaaa        np, d, b/w/l
  158. *    if_fv0    0001 1001 0011 0110 aaaa aaaa aaaa aaaa        np, d, b/w/l
  159. *    CMC FXP-130 use 1 Mbytes in the A32 space:
  160. *    if_fxp3 0001 1001 1000 00aa aaaa aaaa aaaa aaaa        np, d, b/w/l
  161. *    if_fxp2    0001 1001 1000 01aa aaaa aaaa aaaa aaaa        np, d, b/w/l
  162. *    if_fxp1    0001 1001 1000 10aa aaaa aaaa aaaa aaaa        np, d, b/w/l
  163. *    if_fxp0    0001 1001 1000 11aa aaaa aaaa aaaa aaaa        np, d, b/w/l
  164. *
  165. * A32 Space Reserved for Customer Boards:
  166. *        0001 01xx xxxx xxxx xxxx xxxx xxxx xxxx     np (all but 'R2300')
  167. *        0001 101x xxxx xxxx xxxx xxxx xxxx xxxx     np
  168. *        0001 11xx xxxx xxxx xxxx xxxx xxxx xxxx     s ('IP5' only)
  169. *        001x xxxx xxxx xxxx xxxx xxxx xxxx xxxx     s  ('IP19' only)
  170. *        001x xxxx xxxx xxxx xxxx xxxx xxxx xxxx     np ('IP19' only)
  171. *
  172. ********************************************************
  173. ********************************************************
  174. *
  175. * INTERRUPT LEVELS AND VECTORS
  176. *  The VME interrupt levels are assigned as follows (IRQ1 is the lowest
  177. *  priority; IRQ7 is the highest priority) IRQ vectors are no longer re
  178. *  reserved: 
  179. *    IRQ4    ikc
  180. *    IRQ4    if_fv
  181. *    IRQ1    jag controller 0
  182. *    IRQ2    jag controller 1
  183. *    IRQ3    jag controller 2
  184. *    IRQ1    jag controller 3
  185. *    IRQ2    jag controller 4
  186. *    IRQ3    jag controller 5
  187. *    IRQ1    jag controller 6
  188. *    IRQ2    jag controller 7
  189. *    IRQ1    dkip
  190. *    IRQ1    xyl754
  191. *    IRQ2    xylipi
  192. *    IRQ5    cdsio
  193. *    IRQ4    if_fxp
  194. *    IRQ4    if_enp
  195. *
  196. *****************************************************************************
  197.  
  198.  
  199. *
  200. * The following statements direct lboot as it generates a kernel.
  201. * There are 2 styles of VECTOR line.  The preferred style is defined
  202. * first and in depth in the driver writers guide and the system
  203. * file man page.  Also look within this file for examples.
  204. *
  205. *    VECTOR directives must be before all other lboot directives which
  206. *        refer to modules, such as USE, INCLUDE, and EXCLUDE.
  207. *
  208. *    VECTOR lines must occur in the opposite order that the devices
  209. *        should be probed.  Do not change the order of the VECTOR
  210. *        lines in this file, unless you understand the implications.
  211. *
  212. * VECTOR: bustype module adapter [ipl [vector]] [ctlr] iospace iospace2
  213. *      iospace3 probe_space exprobe_space
  214. *
  215. *    bustype: bus the device sits on.
  216. *    module:  boot module
  217. *    adapter: identifies which bus of type bustype
  218. *    ipl:     VME interrupt priority level
  219. *    ctlr:     identifying number for driver
  220. *    iospace: base address of card
  221. *    iospace2,3:    additional addresses passed to driver edtinit
  222. *    probe_space:    address and size to be read to determine existence
  223. *            of card (not specified)
  224. *    exprobe_space:    extended probe which allows for reading and value
  225. *            checking and writing of values as part of the probe.
  226. *
  227. * The old style VECTOR line is defined as:
  228. *
  229. * VECTOR: module [intr] [vector ipl unit] [base] [probe [probe_size]]
  230. *        [base2] [base3]
  231. *
  232. *    module: boot module
  233. *    intr:    interrupt function (default: module_prefix|"intr")
  234. *    vector: vme interrupt vector
  235. *    ipl:    (vme or local IRQx) interrupt priority level
  236. *        do not specify it unless it is needed
  237. *    base:    base address of card
  238. *    probe:    address read to determine existence of card
  239. *        (no probe address implies existence)
  240. *    probe_size: size of probe (default 4 bytes)
  241. *    base2, base3:    additional addresses passed to driver edtinit
  242. *        routine via edt structure
  243. *
  244. *==========================================================================
  245. *
  246. *  System with multiple VME busses can reach higher levels of performance
  247. *  when certain boards are spread out among the available busses.  For
  248. *  example, jaguar VME-SCSI boards are often alternated between the 2
  249. *  busses provided on a Dual VME system.  In the past, the method for
  250. *  specifying which VME bus a device was connect to required the use of
  251. *  special VMEPREFIXs which would be prepended to the boards VME bus
  252. *  address.  Now, it is a simpler matter of just determining the VME bus
  253. *  number that the device is on and changing the adapter=0 field in the
  254. *  VECTOR line to the appropriate value.
  255. *
  256. *  On an IP19, the VME bus adapter number specified encodes the IO4 Ebus
  257. *  slot and the adapter position upon the IO4 to which the VME bus is
  258. *  connected.  There are only 4 adapter positions on the IO4 which can
  259. *  be used for VME.  These are positions 2, 3, 5 and 6.  The prom command
  260. *  'hinv -v -b' can be used to determine both the IO4 Ebus slot number
  261. *  and the IO4 adapter position of the VME bus adapter.  The IO4 adapter
  262. *  positions 2, 3, 5 and 6 are translated into VME positions 0, 1, 2 and 3.
  263. *  The VME bus adapter number used in the VECTOR line is then computed as:
  264. *
  265. *            VME adap # = IO4 Ebus Slot * 4 + VME position.
  266. *
  267. *
  268. *****************************************************************************
  269.  
  270. NOPROBE: 0
  271. *
  272. *
  273. * lboot/system-file version
  274. VERSION: 3
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. *
  285. * "6-port" (really 8-port) serial controller
  286. VECTOR : bustype=VME module=cdsio ipl=5 ctlr=0 adapter=0 iospace=(A24S,0xF00000,0x10000) probe_space=(A24S,0xF0FFFF,1)
  287. VECTOR  : bustype=VME module=cdsio ipl=5 ctlr=1 adapter=0 iospace=(A24S,0xF10000,0x10000) probe_space=(A24S,0xF1FFFF,1)
  288. VECTOR  : bustype=VME module=cdsio ipl=5 ctlr=2 adapter=0 iospace=(A24S,0xF20000,0x10000) probe_space=(A24S,0xF2FFFF,1)
  289. VECTOR  : bustype=VME module=cdsio ipl=5 ctlr=3 adapter=0 iospace=(A24S,0xF30000,0x10000) probe_space=(A24S,0xF3FFFF,1)
  290. *
  291. * IKON Color Printer
  292. VECTOR  : bustype=VME module=ikc ipl=4 ctlr=0 adapter=0 iospace=(A16S,0x9200,0x10) probe_space=(A16S,0x9200,2)
  293. *
  294. * VME-SCSI controller vectors
  295. VECTOR : bustype=VME module=jag ipl=1 ctlr=0 adapter=0 iospace=(A16S, 0, 0x800) probe_space=(A16S, 0, 1)
  296. VECTOR : bustype=VME module=jag ipl=2 ctlr=1 adapter=0 iospace=(A16S, 0x800, 0x800) probe_space=(A16S, 0x800, 1)
  297. VECTOR : bustype=VME module=jag ipl=3 ctlr=2 adapter=0 iospace=(A16S, 0x1000, 0x800) probe_space=(A16S, 0x1000, 1)
  298. VECTOR : bustype=VME module=jag ipl=1 ctlr=3 adapter=0 iospace=(A16S, 0x1800, 0x800) probe_space=(A16S, 0x1800, 1)
  299. VECTOR : bustype=VME module=jag ipl=2 ctlr=4 adapter=0 iospace=(A16S, 0x2000, 0x800) probe_space=(A16S, 0x2000, 1)
  300. VECTOR : bustype=VME module=jag ipl=3 ctlr=5 adapter=0 iospace=(A16S, 0x2800, 0x800) probe_space=(A16S, 0x2800, 1)
  301. * SCSI-VME controller vectors on dual PowerChannel machines
  302. *
  303. * On systems with more than one VME bus, use or modify the following lines
  304. * if the controllers are to be alternated among the VME busses.  On a Dual
  305. * PowerChannel machine, use the following jag VECTOR lines.  Put comments
  306. * in front of the VECTOR lines above and remove the comments from those
  307. * below.  For CHALLENGE systems, figure out which adapter the interfaces
  308. * are on and specify the correct adapter in the adapter=? field.
  309. *
  310. *
  311. *VECTOR: bustype=VME module=jag ipl=1 ctlr=0 adapter=0 iospace=(A16S, 0, 0x800) probe_space=(A16S, 0, 1)
  312. *VECTOR: bustype=VME module=jag ipl=2 ctlr=1 adapter=1 iospace=(A16S, 0, 0x800) probe_space=(A16S, 0, 1)
  313. *VECTOR: bustype=VME module=jag ipl=3 ctlr=2 adapter=0 iospace=(A16S, 0x800, 0x800) probe_space=(A16S, 0x800, 1)
  314. *VECTOR: bustype=VME module=jag ipl=1 ctlr=3 adapter=1 iospace=(A16S, 0x800, 0x800) probe_space=(A16S, 0x800, 1)
  315. *VECTOR: bustype=VME module=jag ipl=2 ctlr=4 adapter=0 iospace=(A16S, 0x1000, 0x800) probe_space=(A16S, 0x1000, 1)
  316. *VECTOR: bustype=VME module=jag ipl=3 ctlr=5 adapter=1 iospace=(A16S, 0x1000, 0x800) probe_space=(A16S, 0x1000, 1)
  317. *VECTOR: bustype=VME module=jag ipl=1 ctlr=6 adapter=0 iospace=(A16S, 0x1800, 0x800) probe_space=(A16S, 0x1800, 1)
  318. *VECTOR: bustype=VME module=jag ipl=2 ctlr=7 adapter=1 iospace=(A16S, 0x1800, 0x800) probe_space=(A16S, 0x1800, 1)
  319. *
  320. *
  321. * Network Interfaces
  322. *
  323. *    Primary interface is determined by network script via "primary"
  324. *    flag for "ifconfig" regardless of the order in lboot drv list.
  325. *
  326. *
  327. * Integral Ethernet Hardware on 'IP5/7/9/17'.  These must be ordered
  328. *    to make the correct